#差异分西
#1. 对ADdata采用log2进行标准化，并利用ANOVA检验分别求所有蛋白在3组之间的P值。
ADatat<- read.csv("C:/Users/32076/Desktop/实践3文件数据/ADdata2.csv")
str(ADatat)
#数据
ADdata<-ADatat[,-1]
str(ADdata)
ADdata_log2<-log2(ADdata+1)
str(ADdata_log2)
df<-ADdata_log2
df_t <- t(df)
group_info <- factor(c("Group1", "Group2", "Group3", "Group4", "Group5"))
# 计算与第三行的ANOVA P值
p_values_anova <- sapply(1:nrow(df_t), function(i) {
  df_group <- data.frame(value = df_t[i, ], group = group_info)
  aov_result <- aov(value ~ group, data = df_group)
  return(summary(aov_result)[[1]]$`Pr(>F)`[1])
})

# 查看 P 值
p_values_anova


#提取volcano.RData数据中p<0.05的蛋白进行GO富集分析，并对富集分析结果进行气泡图展示。
volcano <- load("C:/Users/32076/Downloads/volcano.RData")
if( !require("BiocManager", quietly = TRUE))
  install.packages("BiocManager") #判断包是否安装，没安装先安装包
if( !require("org.Hs.eg.db", quietly = TRUE))
  BiocManager::install("org.Hs.eg.db")
if( !require("clusterProfiler", quietly = TRUE))
  BiocManager::install("clusterProfiler")
# 安装BiocManager（如果尚未安装）
if (!requireNamespace("BiocManager", quietly = TRUE))
  install.packages("BiocManager")
BiocManager::install("clusterProfiler")
# 使用BiocManager安装clusterProfiler
BiocManager::install("clusterProfiler")
load("volcano.RData")
library(org.Hs.eg.db)
library(clusterProfiler)
prostat$ID[1:5] #查看ID信息,  通过网上查询可知ID为SYMBOL信息
ID <- prostat$ID[prostat$P <0.05] #提取待富集ID
ego <- enrichGO(ID, "org.Hs.eg.db", 
                qvalueCutoff = 1, #由于本数据富集结果不显著,为了后续画图修改阈值
                pAdjustMethod = "none", #由于本数据富集结果不显著,为了后续画图修改校正方法
                keyType = "SYMBOL", #设置ID类型为SYMBOL
                ont = "BP", #选择注释类型为BP
                universe = prostat$ID #设置背景基因
)
dotplot(ego)
